package com.py.od.domain;

import java.math.BigDecimal;
import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
//import org.apache.commons.lang3.builder.ToStringBuilder;
//import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import org.springframework.data.annotation.Transient;

/**
 * 库存调拨对象 od_inventory_transfer
 * 
 * @author py
 * @date 2024-12-04
 */
public class OdInventoryTransfer extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 库存调拨单 ID */
    private Long inventoryTransferId;

    /** 单据状态 */
    @Excel(name = "单据状态")
    private String status;

    /** 调拨单号 */
    @Excel(name = "调拨单号")
    private String transferNumber;

    /** 调拨类型 */
    @Excel(name = "调拨类型")
    private Long transferType;

    /** 调拨申请日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "调拨申请日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date requestDate;

    /** 调出仓库 */
    @Excel(name = "调出仓库")
    private Long outboundWarehouseId;

    /** 调入仓库 */
    @Excel(name = "调入仓库")
    private Long inboundWarehouseId;

    /** 出库状态 */
    @Excel(name = "出库状态")
    private String sourceStatus;

    /** 入库状态 */
    @Excel(name = "入库状态")
    private String destinationStatus;

    /** 调拨数量 */
    @Excel(name = "调拨数量")
    private int transferQuantity;

    /** 调拨金额 */
    @Excel(name = "调拨金额")
    private String transferAmount;

    /** 经办人 */
    @Excel(name = "经办人")
    private String operator;

    /** 备注 */
    @Excel(name = "备注")
    private String notes;

    /** 制单人 */
    @Excel(name = "制单人")
    private String creator;

    /** 所在部门 */
    @Excel(name = "所在部门")
    private String departmentId;

    /** 审核人 */
    @Excel(name = "审核人")
    private String reviewer;

    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date reviewTime;

    /** 伪删除标识（0: 未删除, 1: 已删除） */
    @Excel(name = "伪删除标识", readConverterExp = "0=:,未=删除,,1=:,已=删除")
    private Integer isDeleted;

    /** 调拨货品 */
    @Excel(name = "调拨货品")
    private String allocationOfGoods;
    public OdTransferDetails odTransferDetails;//odTransferDetails表
    public List<OdTransferDetails> odTransferDetailsList;
    public OdWarehouse odWarehouse;//odWarehouse表
    public List<OdWarehouse> odWarehouseList;    /** 调拨明细信息 */

    public List<WhInventory> whInventoryList;
    public WhInventory whInventory;
    @Transient
    private String dcku;//调出仓库

    @Transient
    private  String dlku;//调入仓库

    public String getDcku() {
        return dcku;
    }

    public void setDcku(String dcku) {
        this.dcku = dcku;
    }

    public String getDlku() {
        return dlku;
    }

    public void setDlku(String dlku) {
        this.dlku = dlku;
    }


    public WhInventory getWhInventory() {

        return whInventory;
    }

    public void setWhInventory(WhInventory whInventory) {
        this.whInventory = whInventory;
    }


    public List<WhInventory> getWhInventoryList() {
        return whInventoryList;
    }

    public void setWhInventoryList(List<WhInventory> whInventoryList) {
        this.whInventoryList = whInventoryList;
    }

    public Integer getCodeId() {
        return codeId;
    }

    public void setCodeId(Integer codeId) {
        this.codeId = codeId;
    }

    @Transient
    private Integer codeId;

    @Transient
    private Integer number;
    private Product product;


    public Product getProduct() {
        return product;
    }

    public void setProduct(Product product) {
        this.product = product;
    }

    public Integer getNumber() {
        return number;
    }

    public void setNumber(Integer number) {
        this.number = number;
    }

    public OdWarehouse getOdWarehouse() {
        return odWarehouse;
    }

    public void setOdWarehouse(OdWarehouse odWarehouse) {
        this.odWarehouse = odWarehouse;
    }

    public List<OdWarehouse> getOdWarehouseList() {
        return odWarehouseList;
    }

    public void setOdWarehouseList(List<OdWarehouse> odWarehouseList) {
        this.odWarehouseList = odWarehouseList;
    }

    public OdTransferDetails getOdTransferDetails() {
        return odTransferDetails;
    }

    public void setOdTransferDetails(OdTransferDetails odTransferDetails) {
        this.odTransferDetails = odTransferDetails;
    }


    public void setInventoryTransferId(Long inventoryTransferId)
    {
        this.inventoryTransferId = inventoryTransferId;
    }

    public Long getInventoryTransferId()
    {
        return inventoryTransferId;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setTransferNumber(String transferNumber) 
    {
        this.transferNumber = transferNumber;
    }

    @Override
    public String toString() {
        return "OdInventoryTransfer{" +
                "inventoryTransferId=" + inventoryTransferId +
                ", status='" + status + '\'' +
                ", transferNumber='" + transferNumber + '\'' +
                ", transferType=" + transferType +
                ", requestDate=" + requestDate +
                ", outboundWarehouseId=" + outboundWarehouseId +
                ", inboundWarehouseId=" + inboundWarehouseId +
                ", sourceStatus='" + sourceStatus + '\'' +
                ", destinationStatus='" + destinationStatus + '\'' +
                ", transferQuantity=" + transferQuantity +
                ", transferAmount='" + transferAmount + '\'' +
                ", operator='" + operator + '\'' +
                ", notes='" + notes + '\'' +
                ", creator='" + creator + '\'' +
                ", departmentId='" + departmentId + '\'' +
                ", reviewer='" + reviewer + '\'' +
                ", reviewTime=" + reviewTime +
                ", isDeleted=" + isDeleted +
                ", allocationOfGoods='" + allocationOfGoods + '\'' +
                ", odTransferDetails=" + odTransferDetails +
                ", odTransferDetailsList=" + odTransferDetailsList +
                ", odWarehouse=" + odWarehouse +
                ", odWarehouseList=" + odWarehouseList +
                ", whInventoryList=" + whInventoryList +
                ", whInventory=" + whInventory +
                ", dcku='" + dcku + '\'' +
                ", dlku='" + dlku + '\'' +
                ", codeId=" + codeId +
                ", number=" + number +
                ", product=" + product +
                '}';
    }

    public String getTransferNumber()
    {
        return transferNumber;
    }
    public void setTransferType(Long transferType) 
    {
        this.transferType = transferType;
    }

    public Long getTransferType() 
    {
        return transferType;
    }
    public void setRequestDate(Date requestDate) 
    {
        this.requestDate = requestDate;
    }

    public Date getRequestDate() 
    {
        return requestDate;
    }
    public void setOutboundWarehouseId(Long outboundWarehouseId)
    {
        this.outboundWarehouseId = outboundWarehouseId;
    }

    public Long getOutboundWarehouseId() 
    {
        return outboundWarehouseId;
    }
    public void setInboundWarehouseId(Long inboundWarehouseId) 
    {
        this.inboundWarehouseId = inboundWarehouseId;
    }

    public Long getInboundWarehouseId() 
    {
        return inboundWarehouseId;
    }
    public void setSourceStatus(String sourceStatus) 
    {
        this.sourceStatus = sourceStatus;
    }

    public String getSourceStatus() 
    {
        return sourceStatus;
    }
    public void setDestinationStatus(String destinationStatus) 
    {
        this.destinationStatus = destinationStatus;
    }

    public String getDestinationStatus() 
    {
        return destinationStatus;
    }

    public int getTransferQuantity() {
        return transferQuantity;
    }

    public void setTransferQuantity(int transferQuantity) {
        this.transferQuantity = transferQuantity;
    }

    public String getTransferAmount() {
        return transferAmount;
    }

    public void setTransferAmount(String transferAmount) {
        this.transferAmount = transferAmount;
    }

    public void setOperator(String operator)
    {
        this.operator = operator;
    }

    public String getOperator() 
    {
        return operator;
    }
    public void setNotes(String notes) 
    {
        this.notes = notes;
    }

    public String getNotes() 
    {
        return notes;
    }
    public void setCreator(String creator) 
    {
        this.creator = creator;
    }

    public String getCreator() 
    {
        return creator;
    }

    public String getDepartmentId() {
        return departmentId;
    }

    public void setDepartmentId(String departmentId) {
        this.departmentId = departmentId;
    }

    public void setReviewer(String reviewer)
    {
        this.reviewer = reviewer;
    }

    public String getReviewer() 
    {
        return reviewer;
    }
    public void setReviewTime(Date reviewTime) 
    {
        this.reviewTime = reviewTime;
    }

    public Date getReviewTime() 
    {
        return reviewTime;
    }
    public void setIsDeleted(Integer isDeleted) 
    {
        this.isDeleted = isDeleted;
    }

    public Integer getIsDeleted() 
    {
        return isDeleted;
    }
    public void setAllocationOfGoods(String allocationOfGoods) 
    {
        this.allocationOfGoods = allocationOfGoods;
    }

    public String getAllocationOfGoods() 
    {
        return allocationOfGoods;
    }

    public List<OdTransferDetails> getOdTransferDetailsList()
    {
        return odTransferDetailsList;
    }

    public void setOdTransferDetailsList(List<OdTransferDetails> odTransferDetailsList)
    {
        this.odTransferDetailsList = odTransferDetailsList;
    }

}
